#pragma once

#include "UIElement.h"

class UITextbox;
#define ToUIElement(elem) dynamic_cast<UIElement*>(elem);
#define ToUITextbox(elem) static_cast<UITextbox*>(elem)

class IUITextElement
{
public:
	std::string Text = std::string("Text");
	std::string FontName = std::string("Arial");
	int TextAllignment = TEXT_ALLIGNMENT_CENTER;
	DWRITE_FONT_STYLE FontStyle = FONT_STYLE_NORMAL;
	DWRITE_FONT_WEIGHT FontWeight = FONT_WEIGHT_NORMAL;
	int FontSize = 14;
	Color TextColor = Color::Black;

protected:
	// Constructors
	IUITextElement() { /* Default Constructor */ }
	IUITextElement(std::string text);
	IUITextElement(std::string text, std::string fontName);
	IUITextElement(std::string text, std::string fontName, int fontSize);
};
